<?php

/*
  ============================================================
  =    ING. Juan M. Carrizalez 0412-7449583 AGROPATRIA C.A   =
  ============================================================
  =                SISTEMA VEHICULOS CAKEPHP 1.2             =
  ============================================================
 */

class ProvedoresController extends AppController {

  var $name = 'Provedores';
  var $uses = array('Bitacora', 'Mensaje', 'Usuario', 'Provedor', 'Estado','Vehiculo');
  var $helpers = array('Html', 'Form', 'Ajax', 'Javascript', 'Cargar');
  var $layout = "ajax";
  var $paginate = array('limit' => 15);
  var $modelop = 'Provedor';

  function beforeFilter() {
    $this->validar();
  }

  function listado($donde = null, $busq = null) {

    if ($busq != null)
      $this->buscador($donde, $busq);
    else
      $this->ftodo($this->modelop);
    $this->set('donde', $donde);
    $this->set('busq', $busq);
  }

  function pdf_todo() {
    $this->ftodo($this->modelop);
  }

  function modificar($id = null, $donde = null, $busq = null) {
    $this->set('donde', $donde);
    $this->set('busq', $busq);
    $this->funo($this->modelop, $id);
    $this->rif('J');
    $this->select('Estado', 1);
    $this->script($this->div('v'), $this->div('l')); //(1,0)
  }

  function nuevo($donde = null, $busq = null) {
    $this->set('donde', $donde);
    $this->set('busq', $busq);
    $this->rif('J');
    $this->select('Estado', 1);
    $this->script($this->div('v'), $this->div('l')); //(1,0)
  }

  function activar($id, $donde = null, $busq = null) {
    $valor = $this->consulta($id, $this->modelop, 'estado');
    $this->actualizar_estado($id, $this->modelop, $valor);
    $this->set('donde', $donde);
    $this->set('busq', $busq);
    if ($busq != null)
      $this->buscador($donde, $busq);
    else {
      $this->ftodo($this->modelop);
      $this->listado();
      $this->render('listado');
    }
  }

  function existe($a, $b, $i = null) {
    $valor = $this->Provedor->find('first', array('conditions' => array($this->modelop . ".rif" => "$a")));
    if ($valor[$this->modelop]['id'] == $i)
      return false;
    else if ($valor[$this->modelop]['rif'] != '')
      return true;
    else
      return false;
  }

  function guardar() {
    $d = $this->data;
    $cont = $this->name;
    $funt = 'guardar';
    $modelo = $this->modelop;

    if (empty($d['codigo']))
      $this->mensaje_error($cont, $funt, 'codigo');
    else if (empty($d['tipo_rif']))
      $this->mensaje_error($cont, $funt, 'tipo_rif');
    else if (empty($d['rif']))
      $this->mensaje_error($cont, $funt, 'rif');
    else if (empty($d['nombre']))
      $this->mensaje_error($cont, $funt, 'nombre');
    else if (empty($d['estado']))
      $this->mensaje_error($cont, $funt, 'estado');
    else if (!isset($d['id']) and $this->existe($d['tipo_rif'] . '-' . $d['rif'], null))
      $this->set('Error', " Este rif (" . $d['tipo_rif'] . '-' . $d['rif'] . ") Ya se Encuentra Registrado ");
    else if (isset($d['id']) and $this->existe($d['tipo_rif'] . '-' . $d['rif'], null, $d['id']))
      $this->set('Error', " Este rif (" . $d['tipo_rif'] . '-' . $d['rif'] . ") Ya se Encuentra Registrado ");
    else {

      if (!isset($d['id'])) {
        $vn = 0;
        $vald = "Nuevo";
        $med = "Nueva $modelo Registrado exitosamente!!!";
      } else {
        $vn = 1;
        $vald = "Modificar";
        $med = "$modelo Modificado exitosamente!!!";
      }
      $this->data = null;
      $this->$modelo->query('BEGIN  WORK');
      if (isset($d['id']))
      $this->data["$modelo"]['id'] = $d['id'];
      $this->data["$modelo"]['nombre'] = $this->mayuscula($d['nombre']);
      $this->data["$modelo"]['codigo'] = $this->mayuscula($d['codigo']);
      $this->data["$modelo"]['direccion'] = '';
      $this->data["$modelo"]['estado_id'] = $d['estado'];
      $this->data["$modelo"]['municipio_id'] = 1;
      $this->data["$modelo"]['parroquia_id'] = 1;
      $this->data["$modelo"]['rif'] = $this->mayuscula($d['tipo_rif'] . '-' . $d['rif']);
      $this->data["$modelo"]['pai_id'] = 1;
      $this->data["$modelo"]['estado'] = 1;

      if ($this->$modelo->save($this->data)) {

        $id_ = $this->$modelo->id;

        if ($this->auditoria($id_, $modelo, $vald)) {
          $this->$modelo->query('COMMIT');
          $this->set('Exito', $med);
        } else {
          $this->$modelo->query('ROLLBACK');
          $this->set('Error', 'Error Guardando bitacora');
        }
      } else {
        $this->$modelo->query('ROLLBACK');
        $this->set('Error', "Datos del $modelo no fueron guardados");
      }
      $this->script($this->div('l'), $this->div('v')); //(1,0)

      if (empty($d['donde']))
        $this->set('donde', null);
      else
        $this->set('donde', $d['donde']);

      if (empty($d['busq']))
        $this->set('busq', null);
      else
        $this->set('busq', $d['busq']);


      if ($d['busq'] != null)
        $this->buscador($d['donde'], $d['busq']);
      else {
        $this->ftodo($modelo);
        $this->listado();
        $this->render('listado');
      }
    }
  }
  function mini_listado($tipo_rif=null, $rif_=null) {
  //  echo $tipo_rif.'------'.$rif_;
    if(strlen($rif_)>0)
    $data=$this->allilike($this->modelop, 1, 'rif', $tipo_rif.'-%'.$rif_.'%');
    else
    $data=null;
    $this->set('rif_', $rif_);
     $this->set('tipo_rif', $tipo_rif);
    $this->set('data', $data);
    
    $this->set('donde', null);
    $this->set('busq', null);
    

}
  function mini_agregado($tipo_rif=null,$rif_=null,$id=null) {
    
    // echo $tipo_rif.'------'.$rif_.'------'.$id;
    $this->set('rif_', $rif_);
    $this->set('tipo_rif', $tipo_rif);
    // $this->script(null, 'inicio_rif'); //(1,0)
    // $this->script('inicio_rif', null); //(1,0) 
    $data = $this->Provedor->find('first', array('conditions' => array("$this->modelop.id" => $id), 'order' => "$this->modelop.id"));
  
    $this->set('data', $data);
    $this->set('donde', null);
    $this->set('busq', null);
    

}
  function mini_buscar($tipo_rif=null,$rif_=null,$id=null) {
  //  echo $tipo_rif.'------'.$rif_.'------'.$id;
    
//    $this->set('data', $data);
    $this->rif('J');
    $this->set('rif_', $rif_);
    $this->set('tipo_rif', $tipo_rif);
    if(strlen($rif_)>0)
    $data=$this->allilike($this->modelop, 1, 'rif', $tipo_rif.'-%'.$rif_.'%');
    else
    $data=null;
  //  $this->set('rif', $rif);
    $this->set('data', $data);
    
    $this->set('donde', null);
    $this->set('busq', null);
        

}
function mini_nuevo($tipo_rif=null, $rif_=null) {
    if(strlen($rif_)>0)
    $data=$this->allilike($this->modelop, 1, 'rif', $tipo_rif.'-%'.$rif_.'%');
    else
    $data=null;
    $this->set('rif_', $rif_);
    $this->rif('J');
    $this->set('tipo_rif', $tipo_rif);
    $this->select('Estado', 1);
    $this->set('data', $data);
    $this->set('donde', null);
    $this->set('busq', null);
        
    

}

function mini_guardar($a=null,$b=null,$c=null,$d=null,$e=null) {
    $cont = $this->name;
    $funt = 'guardar';
    $modelo = $this->modelop;
    if($a==null && $b==null && $c==null && $d==null && $e==null){
   //     $this->render('mini_nuevo');
                $this->mensaje_error($cont, $funt, 'mini_codigo');
    }

    else if($e==null){
 //       $this->render('mini_nuevo');
        $this->mensaje_error($cont, $funt, 'mini_nombre');
    }
    else{
    
  // echo ' a='.$a.' b='.$b.' c='.$c.' d='.$d;
    //  'mini_tipo_rif','mini_rif','mini_nombre','mini_estado','mini_codigo' 
    // echo $tipo_rif.'------'.$rif_.'------'.$id;
        
        
      $this->$modelo->query('BEGIN  WORK');
      $this->data["$modelo"]['nombre'] = $this->mayuscula($c);
      $this->data["$modelo"]['codigo'] = $this->mayuscula($e);
      $this->data["$modelo"]['direccion'] = '';
      $this->data["$modelo"]['estado_id'] = $d;
      $this->data["$modelo"]['municipio_id'] = 1;
      $this->data["$modelo"]['parroquia_id'] = 1;
      $this->data["$modelo"]['rif'] = $this->mayuscula($a . '-' . $b);
      $this->data["$modelo"]['pai_id'] = 1;
      $this->data["$modelo"]['estado'] = 1;

      if ($this->$modelo->save($this->data)) {

        $id_ = $this->$modelo->id;
        $vald = "Nuevo";
        if ($this->auditoria($id_, $modelo, $vald)) {
          $this->$modelo->query('COMMIT');
          $med = "Nueva $modelo Registrado exitosamente!!!";
          $this->set('Exito', $med);
          
              

    $this->rif('J');
    $this->set('rif_', $b);
    $this->set('tipo_rif', $a);
    if(strlen($b)>0)
    $data=$this->allilike($this->modelop, 1, 'rif', $a.'-%'.$b.'%');
    else
    $data=null;
  //  $this->set('rif', $rif);
    $this->set('data', $data);
    
    $this->set('donde', null);
    $this->set('busq', null);
    $this->script(null, data_provedor_d); //(1,0)
   $this->render('mini_buscar');
          
          
          
        } else {
          $this->$modelo->query('ROLLBACK');
          $this->set('Error', 'Error Guardando bitacora');
        }
      } else {
        $this->$modelo->query('ROLLBACK');
        $this->set('Error', "Datos del $modelo no fueron guardados");
      }
    
   }
   
}
  function mini_nuevo_agregado($tipo_rif=null,$rif_=null,$id=null) {
    
    // echo $tipo_rif.'------'.$rif_.'------'.$id;
    
    $this->set('rif_', $rif_);
    $this->set('tipo_rif', $tipo_rif);
    // $this->script(null, 'inicio_rif'); //(1,0)
    // $this->script('inicio_rif', null); //(1,0) 
    $data = $this->Provedor->find('first', array('conditions' => array("$this->modelop.id" => $id), 'order' => "$this->modelop.id"));
  
    $this->set('data', $data);
    $this->set('donde', null);
    $this->set('busq', null);
    

}
    function eliminar($id, $donde = null, $busq = null) {
        $modelo = $this->modelop;
        $campo = "proveedor_id";
        $modelo_v = "Vehiculo";
        $RS = $this->$modelo_v->find('all', array('conditions' => array("$modelo_v.$campo" => $id), 'order' => "$modelo_v.id"));
        $RS = count($RS);
        if ($RS == 0) {
            $this->$modelo_v->query("DELETE FROM sv_proveedores  WHERE id=$id");
            $this->set('Exito', "Borrado el Provedor con id= " . $id . "");
        } else
            $this->set('Error', "Lo usan $RS Vehiculos");
       

        if ($donde == null)
            $this->set('donde', null);
        else
            $this->set('donde', $donde);

        if ($busq == null)
            $this->set('busq', null);
        else
            $this->set('busq', $busq);


        if ($busq != null)
            $this->buscador($donde, $busq);
        else {
            $this->ftodo($modelo);
            $this->listado();
            $this->render('listado');
        }
    }



}

?>
